package cn.iocoder.yudao.module.eval.dal.dataobject.question;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;

/**
 * 题库 DO
 *
 * @author 芋道源码
 */
@TableName("eval_question_banks")
@KeySequence("eval_question_banks_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EvalQuestionBankDO extends TenantBaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    
    /**
     * 题库编码
     */
    private String bankCode;
    
    /**
     * 题库名称
     */
    private String bankName;
    
    /**
     * 题库分类ID，关联eval_question_categories表
     */
    private Long categoryId;
    
    /**
     * 适用职业代码
     */
    private String professionCode;
    
    /**
     * 适用职业名称
     */
    private String professionName;
    
    /**
     * 适用技能等级，逗号分隔
     */
    private String skillLevels;
    
    /**
     * 适用评价方式
     */
    private String evaluationMethod;
    
    /**
     * 题库版本
     */
    private String bankVersion;
    
    /**
     * 题库描述
     */
    private String bankDescription;
    
    /**
     * 题目总数
     */
    private Integer totalQuestions;
    
    /**
     * 题库状态：0-草稿，1-已发布，2-已停用
     */
    private Integer bankStatus;
    
    /**
     * 难度系数
     */
    private BigDecimal difficultyLevel;
    
    /**
     * 使用次数
     */
    private Integer usageCount;
    
    /**
     * 是否为默认题库
     */
    private Boolean isDefault;

}
